package se.wangs.observerpk;

/**
 * -- coding: UTF-8 -- *
 *
 * @author wangs
 * @date 2023/12/12 16:54
 * @description 主题接口
 */
public interface Subject {
    /**
     * 注册观察者
     * @param observer 待注册的观察者
     */
    void registerObserver(Observer observer);

    /**
     * 移除观察者
     * @param observer 待移除的观察者
     */
    void removeObserver(Observer observer);

    /**
     * 通知所有观察者，数据发生了变化
     */
    void notifyAllObservers();
}
